/*
 * @Description:
 * @Author: chenjiaxin
 * @Date: 2022-06-04 17:32:52
 * @LastEditTime: 2022-06-04 17:39:43
 * @FilePath: \leetcode\2_队列结构\01_队列的封装.js
 */
class Queue {
  constructor() {
    this.items = [];
  }

  // 方法
  // 1. 将元素加入队列中
  enqueue(element) {
    this.items.push(element);
  }
  // 2. 删除前端元素
  dequeue() {
    return this.items.shift();
  }
  // 3. 查看前端的元素
  front() {
    return this.items[0];
  }
  // 4. 查看队列是否为空
  isEmpty() {
    return this.items.length == 0;
  }
  // 5. 查看队列中元素的个数
  size() {
    return this.items.length;
  }
  // 6. toString
  toString() {
    let resultString = "";
    for (let index = 0; index < this.items.length; index++) {
      resultString += this.items[index] + " ";
    }
    return resultString;
  }
}
